package pers.cz.logtail.queue;

/**
 * @program: JefLogTail
 * @description: 生产者接口
 * @author: Cheng Zhi
 * @create: 2023-03-15 17:21
 **/
public interface Producer {

    /**
     * 生产数据，同步模式，会等待直到数据发送成功
     *
     * @param ms
     * @return
     */
    Message sendSync(Message ms);

    /**
     * 生产数据，异步模式，数据有可能会丢失
     *
     * @param ms
     * @return
     */
    Message sendAsync(Message ms);

    /**
     * 关闭生产者
     */
    void close();
}
